Skip to main content

选项卡:<设备名称> I/O 映射

具有 I/O 通道的设备

此选项卡显示在具有 I/O 通道的设备的设备编辑器中。它显示可用通道,并允许将控制器的输入、输出和内存地址映射到应用程序的变量或整个功能块。您以这种方式创建“I/O 映射”。

有关更多信息,请参阅: 配置设备和 I/O 映射

负责 I/O 处理的应用程序在 PLC 设置 标签。

提示

如果设备支持,您可以使用“在线配置模式”。在此模式下,您可以访问硬件的 I/O,而无需事先将实际应用程序下载到设备。

提示

如果应用程序中未引用 I/O 通道,则不会更新其值。如果要监控非参考 I/O 通道,则需要启用 始终更新变量 上的选项 选项卡:PLC 设置.或者,您也可以在 输入输出映射 设备的选项卡。然后启用仅对这一个设备及其子设备有效。

映射“太大”的数据类型

如果大于字节的数据类型的变量映射到字节地址,则该变量的值将被截断为字节大小。用于监控变量值 I/O 映射 对话框,这意味着,在地址的根元素中,将显示项目中当前变量的值。字节的当前单个位值连续显示在其下方的位元素中,但这可能不足以用于整个变量值。

示例 <设备名称> I/O 映射 CAN 总线从站的选项卡:

_cds_img_io_mapping_dialog.png

该选项卡包含一个用于编辑 I/O 映射的表格。为输入和输出显示的信息源自设备描述。

(1)

要在映射表中搜索的字符串的输入字段

搜索结果以黄色突出显示。

筛选 (2)

带有 I/O 映射过滤器的列表框显示在映射表中:

  • 显示所有

  • 仅显示输出

  • 仅显示输入

  • 仅显示未映射的变量

  • 仅显示映射变量

  • 仅显示到现有变量的映射

  • 仅显示到新变量的映射

_cds_icon_add_fb.png为 IO 通道添加 FB (11)

取决于设备,如果在映射表中选择了通道条目,则可用

打开 选择功能块 用于选择应直接链接到通道的功能块的对话框

_cds_icon_goto_definition.png转到实例 (12)

如果在映射表中选择了条目,则可用

跳转到相应的条目 <设备名称> IEC 对象 标签

多变的

根据设备,设备的输入和输出显示为节点,并在节点下方缩进显示相关通道,或者根据设备,仅显示隐式创建的设备实例。

符号表示通道类型:

_cds_icon_input_channel.png: 输入

_cds_icon_output_channel.png: 输出

双击单元格以打开输入字段。

  • 可能性一:变量已经存在。

    指定完整路径:<应用程序名称>.<POU 名称>.<变量名称>

    例子: app1.plc_prg.ivar;输入助手通过 _cds_icon_three_dots.png

  • 可能性 2:该变量尚不存在。

    指定简单名称

    作为全局变量在内部自动创建

根据设备,输入或输出可以直接链接到功能块。在这种情况下, _cds_icon_add_fb.png为 IO 通道添加 FB 按钮可以点击。往上看。

映射 (3)

映射类型:

  • _cds_icon_map_to_existing_variable.png: 现有变量

  • _cds_icon_create_new_variable.png: 新变量

  • _cds_icon_map_fb.png: 映射到功能块实例

渠道 (4)

通道的符号名称。

地址 (5)

通道地址(例如: %IW0)

地址删除线:表示您不应再为该地址分配任何变量。原因:尽管此处指定的变量作为现有变量在不同的内存位置进行管理,但在写入值时可能会导致歧义,尤其是在输出时。

_cds_icon_address_fixed.png: 表示该地址已被编辑修复

如果设备树中设备对象的排列发生变化,那么 CODESYS 不会自动调整此地址。

类型 (6)

通道的数据类型(例如: BOOL)

设备描述中定义的结构或位字段仅在它们是 IEC 标准的一部分并且在设备描述中被标识为 IEC 数据类型时才会显示。否则表格单元格保持为空。

映射结构化变量时,编辑器会阻止您同时指定结构变量(例如: %QB0) 和单个结构元素(例如: %QB0.1QB0.2)。因此,如果在映射表中存在一个带有位通道条目子树的主条目,则适用以下情况: 您可以将变量输入到主条目的行中,也可以将变量输入到子元素(位通道)的行中,但不是两者兼而有之。

默认值

适用于频道的参数的默认值:仅在选项时出现 将所有输出设置为默认值 被选中在 PLC 设置 对于停止时输出的行为。

注意:对于编译器版本 V3.5 SP11 及更高版本,在映射到现有变量时,变量的初始化值将自动用作默认值。您可以编辑 默认值 仅当您映射到新创建的变量时才需要字段。在旧版本中,用户必须明确指定默认值和初始化值是相同的。

单元 (7)

参数值的单位(例如: ms 毫秒)

描述 (8)

参数的简短描述

当前值

应用于通道的参数的实际值;仅在在线模式下显示

提示

允许通过在线更改更改默认值,但该值仅在“重置冷”或“重置暖”后应用。

重置映射 (9)

CODESYS 将映射设置重置为设备描述文件中定义的默认值。

始终更新变量 (10)

关于更新 I/O 变量的设备对象定义

默认值在设备描述中定义:

  • 使用父设备设置:根据上位设备的设置进行更新。

  • 启用 1(如果未在任何任务中使用,则使用总线循环任务)CODESYS 如果总线循环任务中的 I/O 变量未用于任何其他任务,则更新它们。

  • 启用 2(始终在总线循环任务中)CODESYS 更新总线循环任务的每个循环中的所有变量,无论它们是否被使用以及它们是否映射到输入或输出通道。

提示

如果 UNION 在映射对话框中由 I/O 通道表示,则取决于设备是否也可以映射到根元素。

有关详细信息,请参阅: 现场总线设备和 I/O 驱动程序

带有 I/O 驱动程序的设备

对于带有 I/O 驱动程序的设备,您可以在此处设置总线循环任务 I/O 映射 选项卡,如果不应使用常规设置(PLC 设置 标签)。

50. 巴士循环选项

总线循环任务

列表框提供了在活动应用程序的任务配置中定义的所有任务(例如: 主要任务.的情况下 使用父总线循环设置,将使用父节点的设置。



关于总线循环任务的一般信息

通常,对于每个 IEC 任务,在每个任务开始时读取使用的输入数据 (1),并在任务结束时将写入的输出数据传输到 I/O 驱动程序 (3)。 I/O 驱动程序中的实现对于 I/O 数据的额外传输具有决定性意义。它负责实际传输到相应总线系统的时间范围和时间点。

PLC 的总线循环任务可以在 PLC 设置中为所有现场总线全局定义。但是,对于某些现场总线,您可以独立于全局设置进行更改。循环时间最短的任务用作总线循环任务(设置: 未指定 在 PLC 设置中)。在此任务中,消息通常在总线上发送。

其他任务仅从内部缓冲区复制 I/O 数据,该缓冲区仅与总线周期任务中的物理硬件交换。

_task_diagram_standard.png
(1) 从输入缓冲区读取输入              (2) IEC 任务 
(3) 将输出写入输出缓冲区              (4) 总线周期 
(5) 输入缓冲区                       (6) 输出缓冲区 
(7) 将数据复制到/从总线 
(9) 总线周期任务,优先级 1,1 ms 
(10) 总线循环任务,优先级 5 
(11) 总线循环任务,优先级 10,被任务 5 中断

任务使用

任务部署 选项卡提供已用 I/O 通道、设置总线周期任务和通道使用情况的概览。

警告

如果在各种任务中写入输出,则状态未定义,因为在每种情况下都可以覆盖。

如果在不同的任务中使用相同的输入,那么输入可能会在任务处理过程中发生变化。当任务被具有更高优先级的任务中断并导致再次读取过程映像时会发生这种情况。解决方案:在 IEC 任务开始时,将输入变量复制到变量中,然后在其余代码中仅使用局部变量。

结论:在多个任务中使用相同的输入和输出没有任何意义,并且在某些情况下会导致意外反应。